# Copyright (C) 2006-2020 Istituto Italiano di Tecnologia (IIT)
# All rights reserved.
#
# This software may be modified and distributed under the terms of the
# BSD-3-Clause license. See the accompanying LICENSE file for details.

include_directories(SYSTEM ${QCustomPlot_INCLUDE_DIRS})

set(QtYARPScopePlugin_SRCS portreader.cpp
                           simpleloader.cpp
                           qtyarpscope.cpp
                           plotter.cpp
                           genericloader.cpp
                           xmlloader.cpp
                           plotmanager.cpp
                           qtyarpscopeplugin_plugin.cpp)
set(QtYARPScopePlugin_HDRS portreader.h
                           qtyarpscope.h
                           genericloader.h
                           plotmanager.h
                           qtyarpscopeplugin_plugin.h
                           plotter.h
                           xmlloader.h
                           simpleloader.h)
set(QtYARPScopePlugin_QRC_FILES res.qrc)
set(QtYARPScopePlugin_QML_FILES YARPScopeAbout.qml
                                YARPScopeMenu.qml
                                YARPScopeToolBar.qml)

qt5_add_resources(QtYARPScopePlugin_QRC_GEN_SRCS ${QtYARPScopePlugin_QRC_FILES})

source_group(TREE "${CMAKE_CURRENT_SOURCE_DIR}"
             PREFIX "Source Files"
             FILES ${QtYARPScopePlugin_SRCS})
source_group(TREE "${CMAKE_CURRENT_SOURCE_DIR}"
             PREFIX "Header Files"
             FILES ${QtYARPScopePlugin_HDRS})
source_group("Resources Files" FILES ${QtYARPScopePlugin_QRC_FILES})
source_group("QML Files" FILES ${QtYARPScopePlugin_QML_FILES})
source_group("Generated Files" FILES ${QtYARPScopePlugin_QRC_GEN_SRCS})

add_library(QtYARPScopePlugin MODULE)

target_sources(QtYARPScopePlugin PRIVATE ${QtYARPScopePlugin_SRCS}
                                         ${QtYARPScopePlugin_HDRS}
                                         ${QtYARPScopePlugin_QRC_FILES}
                                         ${QtYARPScopePlugin_QRC_GEN_SRCS}
                                         ${QtYARPScopePlugin_QML_FILES})

target_link_libraries(QtYARPScopePlugin PRIVATE YARP::YARP_os
                                                YARP::YARP_init
                                                ${QCustomPlot_LIBRARIES}
                                                Qt5::Widgets
                                                Qt5::Qml
                                                Qt5::Quick
                                                Qt5::Xml
                                                Qt5::PrintSupport)

qtyarp_qml_plugin(QtYARPScopePlugin "${QtYARPScopePlugin_QMLDIR}")

install(TARGETS QtYARPScopePlugin
        COMPONENT utilities
        RUNTIME DESTINATION "${CMAKE_INSTALL_QMLDIR}/${QtYARPScopePlugin_QMLDIR}"
        LIBRARY DESTINATION "${CMAKE_INSTALL_QMLDIR}/${QtYARPScopePlugin_QMLDIR}"
        ARCHIVE DESTINATION "${CMAKE_INSTALL_QMLDIR}/${QtYARPScopePlugin_QMLDIR}")

install(FILES qmldir DESTINATION "${CMAKE_INSTALL_QMLDIR}/${QtYARPScopePlugin_QMLDIR}")

set_property(TARGET QtYARPScopePlugin PROPERTY FOLDER "Plugins/QML")
